# -*- coding: utf-8 -*-
"""爬虫配置文件"""

# MYSQL
MYSQL_IP = "rm-bp152ng910khxljk85o.mysql.rds.aliyuncs.com"
MYSQL_PORT = 3306
MYSQL_DB = "business_scope"
# MYSQL_DB = "dev_jfb"
MYSQL_USER_NAME = "dev"
MYSQL_USER_PASS = "s03v2@&6stvsfe63"

# # SQLSERVER
SQLSERVER_IP = "118.31.226.35"
SQLSERVER_PORT = 1433
SQLSERVER_DB = "HeMing"
SQLSERVER_USER_NAME = "sa"
SQLSERVER_USER_PASS = "qierge@123456!~!@#"

# # REDIS
# # ip:port 多个可写为列表或者逗号隔开 如 ip1:port1,ip2:port2 或 ["ip1:port1", "ip2:port2"]
# REDISDB_IP_PORTS = "localhost:6379"
REDISDB_IP_PORTS = "139.9.196.26:6379"
REDISDB_USER_PASS = "python"
REDISDB_DB = 1
# # 适用于redis哨兵模式
# REDISDB_SERVICE_NAME = ""
#
# # 数据入库的pipeline，可自定义，默认MysqlPipeline
ITEM_PIPELINES = [
    "feapder.pipelines.mysql_pipeline.MysqlPipeline",
]
EXPORT_DATA_MAX_FAILED_TIMES = 2  # 导出数据时最大的失败次数，包括保存和更新，超过这个次数报警
EXPORT_DATA_MAX_RETRY_TIMES = 10  # 导出数据时最大的重试次数，包括保存和更新，超过这个次数则放弃重试
#
# # 爬虫相关
# # COLLECTOR
COLLECTOR_TASK_COUNT = 20  # 每次获取任务数量，追求速度推荐32
#
# # SPIDER
SPIDER_THREAD_COUNT = 20  # 爬虫并发数，追求速度推荐32
# # 下载时间间隔 单位秒。 支持随机 如 SPIDER_SLEEP_TIME = [2, 5] 则间隔为 2~5秒之间的随机数，包含2和5
SPIDER_SLEEP_TIME = 0
SPIDER_MAX_RETRY_TIMES = 10  # 每个请求最大重试次数
KEEP_ALIVE = False  # 爬虫是否常驻


MAKE_ABSOLUTE_LINKS = True  # 自动转成绝对连接

# 爬虫启动时，重新抓取失败的requests
RETRY_FAILED_REQUESTS = True
# 爬虫启动时，重新入库失败的item
RETRY_FAILED_ITEMS = True
# 保存失败的request
SAVE_FAILED_REQUEST = True
# # request防丢机制。（指定的REQUEST_LOST_TIMEOUT时间内request还没做完，会重新下发 重做）
REQUEST_LOST_TIMEOUT = 600  # 10分钟
# # request网络请求超时时间
REQUEST_TIMEOUT = 22  # 等待服务器响应的超时时间，浮点数，或(connect timeout, read timeout)元组
# # item在内存队列中最大缓存数量
ITEM_MAX_CACHED_COUNT = 5000
# # item每批入库的最大数量
ITEM_UPLOAD_BATCH_MAX_SIZE = 1000
# # item入库时间间隔
ITEM_UPLOAD_INTERVAL = 1
# # 去重
ITEM_FILTER_ENABLE = True  # item 去重
REQUEST_FILTER_ENABLE = False  # request 去重
ITEM_FILTER_SETTING = dict(
    filter_type=1  # 永久去重（BloomFilter） = 1 、内存去重（MemoryFilter） = 2、 临时去重（ExpireFilter）= 3、轻量去重（LiteFilter）= 4
)
REQUEST_FILTER_SETTING = dict(
    filter_type=3,  # 永久去重（BloomFilter） = 1 、内存去重（MemoryFilter） = 2、 临时去重（ExpireFilter）= 3、 轻量去重（LiteFilter）= 4
    expire_time=2592000,  # 过期时间1个月
)
#
# # 企业微信报警
# 企业微信机器人api
# WECHAT_WARNING_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a6f95e59-edb0-4be4-a93e-d67da6f048aa"
WECHAT_WARNING_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=10f5a083-0e35-4318-b0b4-e594004e879f"
WECHAT_WARNING_PHONE = ""  # 报警人 将会在群内@此人, 支持列表，可指定多人
WECHAT_WARNING_ALL = False  # 是否提示所有人， 默认为False

# # 时间间隔
WARNING_INTERVAL = 120  # 相同报警的报警时间间隔，防止刷屏; 0表示不去重
WARNING_LEVEL = "DEBUG"  # 报警级别， DEBUG / INFO / ERROR
WARNING_FAILED_COUNT = 1000  # 任务失败数 超过WARNING_FAILED_COUNT则报警
LOG_LEVEL = "DEBUG"

